package kaproject

import "yundian/internel/pkg/dingo"

type KaProjectModel struct {
	Id         int        `gorm:"column:id" json:"id"`
	KaLabel    string     `gorm:"column:ka_label" json:"kaLabel"`       // 唯一标识
	KaName     string     `gorm:"column:ka_name" json:"kaName"`         // 用户名
	KaDesc     string     `gorm:"column:ka_desc" json:"kaDesc"`         // 描述
	Status     uint8      `gorm:"column:status" json:"status"`          // 状态
	CouponId   int        `gorm:"column:coupon_id" json:"couponId"`     // 优惠券 ID
	MembersUrl string     `gorm:"column:members_url" json:"membersUrl"` // 会员接口
	MembersTestUrl string `gorm:"column:members_test_url" json:"membersTestUrl"` // 会员接口
	Appid      string     `gorm:"column:appid" json:"appid"`
	AppSecret  string     `gorm:"column:appsecret" json:"appsecret"`
	IsToken    uint8      `gorm:"column:is_token" json:"isToken"`
	Code       string     `gorm:"column:code" json:"code"`

	CreateAt   dingo.Time `gorm:"column:create_at" json:"createAt"`     // 创建日期
	UpdateAt   dingo.Time `gorm:"column:update_at" json:"updateAt"`     // 修改日期
}

// model init
func New() *KaProjectModel {
	return &KaProjectModel{}
}

// TableName
func (m *KaProjectModel) TableName() string {
	return "ka_project"
}

func (m *KaProjectModel) Mutate(attrs ...KaProjectAttr) *KaProjectModel {
	KaProjectAttrs(attrs).Apply(m)
	return m
}
